/**
 * 全局配置文件
 * 包含应用的所有配置项
 */

// 环境配置
const ENV_CONFIG = {
  development: {
    API_BASE_URL: 'http://localhost:8080/api',
    DEBUG: true,
    MOCK_DATA: true
  },
  production: {
    API_BASE_URL: 'https://api.bipedu.com/api',
    DEBUG: false,
    MOCK_DATA: false
  }
}

// 当前环境
const CURRENT_ENV = process.env.NODE_ENV || 'development'
const CONFIG = ENV_CONFIG[CURRENT_ENV]

// 应用配置
export const APP_CONFIG = {
  // 应用信息
  APP_NAME: 'BIP学习平台',
  APP_VERSION: '1.0.0',
  APP_DESCRIPTION: '专业的在线教育学习系统',
  
  // API配置
  API_BASE_URL: CONFIG.API_BASE_URL,
  API_TIMEOUT: 10000,
  API_RETRY_COUNT: 3,
  
  // 分页配置
  PAGE_SIZE: 20,
  
  // 文件上传配置
  UPLOAD: {
    MAX_SIZE: 10 * 1024 * 1024, // 10MB
    ALLOW_TYPES: ['image/jpeg', 'image/png', 'image/gif', 'video/mp4'],
    UPLOAD_URL: CONFIG.API_BASE_URL + '/upload'
  },
  
  // 缓存配置
  CACHE: {
    EXPIRE_TIME: 24 * 60 * 60 * 1000, // 24小时
    MAX_SIZE: 50 * 1024 * 1024 // 50MB
  },
  
  // 调试配置
  DEBUG: CONFIG.DEBUG,
  MOCK_DATA: CONFIG.MOCK_DATA
}

// 路由配置
export const ROUTE_CONFIG = {
  // 需要登录的页面
  AUTH_PAGES: [
    '/pages/profile/index',
    '/pages/courses/my',
    '/pages/exams/my',
    '/pages/learning/index'
  ],
  
  // 需要权限的页面
  PERMISSION_PAGES: {
    teacher: [
      '/pages/teacher/courses',
      '/pages/teacher/exams',
      '/pages/teacher/students'
    ],
    admin: [
      '/pages/admin/dashboard',
      '/pages/admin/users',
      '/pages/admin/courses'
    ]
  }
}

// 功能开关
export const FEATURE_FLAGS = {
  // 课程功能
  ENABLE_COURSE_COMMENTS: true,
  ENABLE_COURSE_FAVORITE: true,
  ENABLE_COURSE_SHARE: true,
  ENABLE_COURSE_DOWNLOAD: false,
  
  // 考试功能
  ENABLE_EXAM_PRACTICE: true,
  ENABLE_EXAM_ANALYSIS: true,
  ENABLE_EXAM_SHARE: true,
  
  // 社交功能
  ENABLE_USER_FOLLOW: true,
  ENABLE_USER_MESSAGE: true,
  ENABLE_USER_DYNAMIC: true,
  
  // 支付功能
  ENABLE_PAYMENT: true,
  ENABLE_VIP: true,
  ENABLE_COUPON: true,
  
  // 其他功能
  ENABLE_CHECKIN: true,
  ENABLE_ACHIEVEMENT: true,
  ENABLE_CERTIFICATE: true
}

// 主题配置
export const THEME_CONFIG = {
  // 主题色
  PRIMARY_COLOR: '#667eea',
  SECONDARY_COLOR: '#764ba2',
  SUCCESS_COLOR: '#52c41a',
  WARNING_COLOR: '#faad14',
  ERROR_COLOR: '#ff4d4f',
  INFO_COLOR: '#1890ff',
  
  // 背景色
  BACKGROUND_COLOR: '#f5f5f5',
  CARD_BACKGROUND: '#ffffff',
  MODAL_BACKGROUND: '#ffffff',
  
  // 文字颜色
  TEXT_PRIMARY: '#333333',
  TEXT_SECONDARY: '#666666',
  TEXT_DISABLED: '#999999',
  TEXT_LINK: '#667eea',
  
  // 边框颜色
  BORDER_LIGHT: '#e5e5e5',
  BORDER_BASE: '#d9d9d9',
  BORDER_DARK: '#bfbfbf'
}

// 第三方配置
export const THIRD_PARTY_CONFIG = {
  // 微信配置
  WECHAT: {
    APP_ID: 'wx1234567890abcdef',
    APP_SECRET: 'your_wechat_secret'
  },
  
  // 支付宝配置
  ALIPAY: {
    APP_ID: '2021001234567890',
    RSA_PRIVATE_KEY: 'your_alipay_private_key'
  },
  
  // 腾讯云配置
  TENCENT: {
    SECRET_ID: 'your_tencent_secret_id',
    SECRET_KEY: 'your_tencent_secret_key',
    COS_BUCKET: 'your_cos_bucket'
  },
  
  // 推送配置
  PUSH_CONFIG: {
    UNI_PUSH_APP_ID: 'your_uni_push_app_id',
    UNI_PUSH_APP_KEY: 'your_uni_push_app_key'
  }
}

// 错误码配置
export const ERROR_CODES = {
  // 系统错误
  SYSTEM_ERROR: 500,
  NETWORK_ERROR: 501,
  TIMEOUT_ERROR: 502,
  
  // 认证错误
  UNAUTHORIZED: 401,
  TOKEN_EXPIRED: 402,
  PERMISSION_DENIED: 403,
  
  // 业务错误
  PARAM_ERROR: 400,
  NOT_FOUND: 404,
  ALREADY_EXISTS: 409,
  
  // 用户错误
  USER_NOT_FOUND: 1001,
  PASSWORD_ERROR: 1002,
  USER_LOCKED: 1003,
  
  // 课程错误
  COURSE_NOT_FOUND: 2001,
  COURSE_NOT_PURCHASED: 2002,
  COURSE_EXPIRED: 2003,
  
  // 考试错误
  EXAM_NOT_FOUND: 3001,
  EXAM_NOT_STARTED: 3002,
  EXAM_ALREADY_SUBMITTED: 3003
}

// 默认导出
export default {
  APP_CONFIG,
  ROUTE_CONFIG,
  FEATURE_FLAGS,
  THEME_CONFIG,
  THIRD_PARTY_CONFIG,
  ERROR_CODES
}